home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 4
/
Aminet 4 - November 1994.iso
/
aminet
/
comm
/
dlg
/
isrip1.lha
/
isrip.doc
< prev
next >
Wrap
Text File
|
1994-08-03
|
4KB
|
129 lines
IsRIP-Add RIP screens to non-RIP programs
-----------------------------------------
Here's a simple way to add RIP screens to programs that don't support them
already. All the credit for this program goes to Sean Clarke who happened
to suggest this to me. I'd never thought of it before.
The simple explanation is that RIP screens stay around until you clear them.
The only way to clear them is by issuing a !|1K|* command. This makes for
easy programming and display of RIP scripts. In addition, this makes it
possible to keep a RIP screen up while a program that normally outputs to
the full screen is running in a RIP text window.
For example, let's say you want to display a text file to a user using DLG's
df command. We all know that df doesn't support RIP. Well, it does now.
First, setup the menu entry like this:
[ 1] Letter: P
[ 2] Menu script: (path/name) dlgconfig:batch/ripdf.batch
[ 3] Edit file:
[ 4] Description: Display a file
[ 5] Type: Menu script
[ 6] Help File: RIPSTUFF/P
[ 7] Lower level: 1
[ 8] Upper level: 255
[ 9] Hidden: NO
[10] Load type: OVERLAY
[11] Ask user if sure: NO
[12] Pend messages: YES
[13] Cli mode: NO
[14] Pause on completion: NO
[15] Log value: None
[16] Activity string:
[17] Priority: DEFAULT
[18] Edit help file
You will notice it is a menu script. The menu script file looks like
this:
exe dlg2:isrip 3 %MENUSET dlgconfig:text/df.rip
exe dlg:df dlgconfig:text/donations.txt
exe dlg2:isrip 3 %MENUSET
Now, the real tricky part of the whole equation is knowing whether or
not a user is using RIP screens. Well, that's where the isrip program
comes in. It takes the following commands:
isrip RIPMenuSet UserMenuSet RIPFileToDisplay
Since I have my RIP menu set as the third one, I use 3. If the user's
menu set is also 3, the text file is displayed. Now, when you are
done with the program, you need to in fact clear the RIP screen. If you
don't give a file name to isrip, it just clears all RIP screens (back to
that !|1K|* junk) and issues an ANSI ESC[H ESC[2J clear screen command.
Here's a look at the df.rip file I have broken down:
!|1K|*
Clears all RIP displays and buttons.
!|w05062D0V11
Defines a text window that is in fact 26 lines long on the screen. You
can change this to whatever size you want (I would recommend no fewer
than 24 lines since most door programs need that many). You can also
place this wherever you want on the screen. All ANSI and such will go
to this window.
!|R0S18GT7411
This puts a box around that text window which makes it look nicer IMHO.
!|c07
Changes the text color.
!|Y02000400
Changes the font used for the buttons.
!|1B280F020QO0040E000F080700000F07000000
Specifies all the button preferences in one single line. NOTE: As of this
writing, RIPGraf didn't support this. It requires you to specify sizes
and the like in the 1U command. So, in other words, if you have a
registered RIPGraf, delete this line and all lines below it (except for the
final line), load the RIP script up, and add the buttons as you choose.
!|1U0U7I00007400<>Yes<>Y
!|1U3M7I00007400<>No<>N
!|1U6E7I00007400<>Continuous<>=
These are all the buttons you want on the screen. DF uses hotkeyed responses
so you do not need a ^M at the end of the command.
!|#|#|#
The final "I'm done with all the RIP" command.
NOTE: If you edit RIP by hand, I suggest you get the RIPScript specs from the
TeleGrafix people. I have them here somewhere too if anyone needs them. Your
best bet is to use RIPGraf registered to create the screens since editing by
hand is REALLY hard.
I think that is it on my part. I'm hoping Sean Clarke will make some comments
in here (and possibly include a nicer RIP screen done with RIPGraf since he has
the registered version).
How to get in touch
-------------------
Guy Smith
1093 Manigan Ave.
Oviedo, FL 32765
voice: 407-366-6426
internet: GUSMITH@delphi.com
Gus's BS BBS
407-366-6274
AmigaNet: 40:716/21.0
FidoNet: 1:363/274 (PLEASE check to make sure the phone number is correct before
calling. In the latest nodelist (210), the phone number was listed as my voice
number).
If you want to talk to me, feel free to call me voice. I'm around most of the time
especially between 5 pm to 10 pm EST.